home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / kudzu / pci.h < prev    next >
C/C++ Source or Header  |  2005-12-04  |  2KB  |  57 lines

  1. /* Copyright 1999-2003 Red Hat, Inc.
  2.  *
  3.  * This software may be freely redistributed under the terms of the GNU
  4.  * public license.
  5.  *
  6.  * You should have received a copy of the GNU General Public License
  7.  * along with this program; if not, write to the Free Software
  8.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  9.  *
  10.  */
  11.  
  12. #ifndef _KUDZU_PCI_H_
  13. #define _KUDZU_PCI_H_
  14.  
  15. #include "kudzu.h"
  16. #include "device.h"
  17.  
  18. /* Cardbus stuff can show up as PCI. */
  19. /* Start at 1 so we don't do weird stuff on previous installations. */
  20. #define PCI_UNKNOWN        0
  21. #define PCI_NORMAL        1
  22. #define PCI_CARDBUS        2
  23.  
  24. struct pciDevice {
  25.     /* common fields */
  26.     struct device *next;    /* next device in list */
  27.     int index;
  28.     enum deviceClass type;    /* type */
  29.     enum deviceBus bus;        /* bus it's attached to */
  30.     char * device;        /* device file associated with it */
  31.     char * driver;        /* driver to load, if any */
  32.     char * desc;        /* a description */
  33.     int detached;
  34.     void * classprivate;
  35.     /* pci-specific fields */
  36.     struct pciDevice  *(*newDevice) (struct pciDevice *dev);
  37.     void (*freeDevice) (struct pciDevice *dev);
  38.     void (*writeDevice) (FILE *file, struct pciDevice *dev);
  39.     int (*compareDevice) (struct pciDevice *dev1, struct pciDevice *dev2);
  40.     unsigned int vendorId;    /* vendor id */
  41.     unsigned int deviceId;    /* device id */
  42.     int pciType;            /* type of PCI bus */
  43.     unsigned int subVendorId;
  44.     unsigned int subDeviceId;
  45.     unsigned int pcidom;
  46.     unsigned int pcibus;
  47.     unsigned int pcidev;
  48.     unsigned int pcifn;
  49. };
  50.  
  51. struct pciDevice *pciNewDevice(struct pciDevice *dev);
  52. struct device *pciProbe(enum deviceClass probeClass, int probeFlags,
  53.             struct device *devlist);
  54. int pciReadDrivers(char *filename);
  55. void pciFreeDrivers(void);
  56. #endif
  57.